package suanfa;

public class multiply {
    public String multiply(String num1, String num2) {
        //1.准备工作
        int m=num1.length(),n=num2.length();
        char[] n1=new StringBuffer(num1).reverse().toString().toCharArray();
        char[] n2=new StringBuffer(num2).reverse().toString().toCharArray();
        int[] tmp=new int[m+n-1];
        //先无进位相加
        for(int i=0;i<m;i++)
            for(int j=0;j<n;j++)
                tmp[i+j]+=(n1[i]-'0')*(n2[j]-'0');
        int cur=0,t=0;
        StringBuffer ret=new StringBuffer();
        //处理进位
        while(cur<m+n-1 || t!=0){
            if(cur<m+n-1) t+=tmp[cur++];
            ret.append(t%10);
            t/=10;
        }
        //4.处理前导0
        while(ret.length()>1 && ret.charAt(ret.length()-1)=='0'){
            ret.deleteCharAt(ret.length()-1);
        }
        return ret.reverse().toString();
    }
}
